Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Programma Immagini
Forum - C# / VB.NET - [VB.NET] Programma Immagini

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Hast (Normal User)
Rookie


Messaggi: 52
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 11:42
Domenica, 17/05/2009
Salve a tutti vi chiedo un consiglio perchè io non so proprio come fare :d
Avevo intenzione di creare un programma in cui si ha un'immagine iniziale con (per esempio) un quadrato vuoto al centro. Poi si apre un'immagine che va a riempire il quadrato vuoto, infine con un bottone do il comando di unire le due immagini in una sola e di salvarla.
Il fatto è che non so come fare. Ho provato con le picturebox, ma poi non riesco a unire le diverse immagini.
Grazie per l'aiuto

PM Quote
Avatar
Nottambulo (Normal User)
Newbie


Messaggi: 4
Iscritto: 14/05/2009

Segnala al moderatore
Postato alle 12:14
Domenica, 17/05/2009
Unirle come?

PM Quote
Avatar
Hast (Normal User)
Rookie


Messaggi: 52
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 13:04
Domenica, 17/05/2009
Nel senso che ci sono due immagini sovrapposte e quando si salva le immagini diventano una sola.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:05
Domenica, 17/05/2009
Se per "sovrapposte" intendi un'interpolazione al 50% tra le due, pixel per pixel, allora prova questo codice:
Codice sorgente - presumibilmente VB.NET

  1. Dim b As New Bitmap(img1.Width, img1.Height)
  2. Dim g As Graphics = Graphics.FromImage(b)
  3. Dim M As New Imaging.ColorMatrix
  4. Dim A As New Imaging.ImageAttributes
  5. Dim R As New Rectangle(0, 0, img1.Width, img1.Height)
  6.  
  7. M.Matrix00 = 1
  8. M.Matrix11 = 1
  9. M.Matrix22 = 1
  10. M.Matrix33 = 0.5
  11. M.Matrix44 = 1
  12. A.SetColorMatrix(M)
  13. g.DrawImage(img1, R, 0, 0, img1.Width, img1.Height, GraphicsUnit.Pixel, A)
  14. g.DrawImage(img2, R, 0, 0, img2.Width, img2.Height, GraphicsUnit.Pixel, A)
  15.  
  16. b.Save("C:\ciao.png")


img1 e img2 sono le immagini da sovrapporre. Non devono necessariamente avere le stesse dimensioni.

PM Quote
Avatar
Hast (Normal User)
Rookie


Messaggi: 52
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 19:37
Domenica, 17/05/2009
Ho provato a usare il tuo codice, ma mi da questo errore:
"Risoluzione dell'overload non riuscita perchè nessun 'New' accessibile può essere chiamato senza una conversione verso un tipo di dati più piccolo:"
e poi da tutti gli esempi

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 21:56
Domenica, 17/05/2009
Testo quotato

Postato originariamente da Hast:

Ho provato a usare il tuo codice, ma mi da questo errore:
"Risoluzione dell'overload non riuscita perchè nessun 'New' accessibile può essere chiamato senza una conversione verso un tipo di dati più piccolo:"
e poi da tutti gli esempi


Ma che riga ti evidenzia?

PM Quote
Avatar
Hast (Normal User)
Rookie


Messaggi: 52
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 23:01
Domenica, 17/05/2009
Testo quotato

Postato originariamente da ruggy94:

Testo quotato

Postato originariamente da Hast:

Ho provato a usare il tuo codice, ma mi da questo errore:
"Risoluzione dell'overload non riuscita perchè nessun 'New' accessibile può essere chiamato senza una conversione verso un tipo di dati più piccolo:"
e poi da tutti gli esempi


Ma che riga ti evidenzia?


Non mi evidenzia niente. Non mi fa proprio partire il debug. dice sono che è il comando new di
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim b as New Bitmap


è questo New che mi da errore.

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 23:03
Domenica, 17/05/2009
ma nel tuo codice img1 e img2 sono oggetti di che tipo? (Bitmap, PictureBox, etc.)

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:18
Lunedì, 18/05/2009
Sono bitmap. Se esegui operazioni matematiche sui parametri di new, ricordati di convertirli esplicitamente in integer, poiché altrimenti non riesce ad individuare l'overload corretto.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo